// pages/result/index.js
let page = 1,size = 10;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list:[],
    leftH:0,
    rightH:0,
    leftList:[],
    rightList:[],
    num:0,
    keywords:"",
    isLoadAll:false
  },
  handlerWarterfull(){
    // 当num值与list总值数量相同 图片 onload onerror 加载图片完毕
    const {num,list,leftList:lList,rightList:rList} = this.data
      const rightList = [...rList]
      const leftList = [...lList]
    if(num === list.length){
      // 每一个list的选项都有 h
      list.forEach(item=>{
    const {leftH,rightH} = this.data
    if(leftH>rightH){
      this.data.rightH = rightH + item.h
      rightList.push(item)
    }else{
      this.data.leftH = leftH + item.h
      leftList.push(item)
    }
      })
      //循环完毕 设置左右容器数据 清空加载容器，判断数量清空
      this.setData({
        leftList,rightList
      })
      //请求完毕 关闭loading 
      // 图片左右分栏完毕 立刻更新视图
  wx.hideLoading()
      console.log(this.data.list,this.data.leftList,this.data.rightList)
    }
  },
//图片载入后收集信息
onloadImg(e){
  console.log(e)
  const {index} = e.target.dataset
  const w = 200
const {width,height} = e.detail
console.log(width,height)
const h = Math.ceil(w * height / width)
console.log(h,index,this.data.list[index])
this.data.list[index]['h'] = h;
console.log(this.data.list)
this.data.num++;
// 计算下是否需要出发处理瀑布流函数
this.handlerWarterfull()
},
// 考虑载入失败的元素
onErrorImg(e){
  // console.log(e,111)
  const {index} = e.target.dataset;
  this.data.list[index]['h'] = 200;
this.data.num++;
// 计算下是否需要出发处理瀑布流函数
this.handlerWarterfull()
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
//获取上个页面的参数结果
const {keywords} = options
if (!keywords) {
  wx.showToast({
    title: '搜索内容不能为空',
  })
  return false
}
//拿到结果展示数据
//发送请求 云函数 分页处理（10个）下拉触底请求第二页数据{是否有更多}
// show loading
// showToast 可以指定loading的时间 过了这段时间会自动关闭
// wx.showToast({
//   title:'加载中...',
//   icon:"loading",
//   duration:1500
// })
// showLoading 不会自动关闭 需要调用调用wx.hideLoading()才可以关闭
this.data.keywords = keywords
this.getDataList()
},
getDataList(){
  if(this.data.isLoadAll)return
  wx.showLoading({
    title: '加载中...',
  })
  // 清空数据
  this.data.num = 0;
  const {keywords} = this.data
// ajax
wx.cloud.callFunction({name:"getProduct",data:{
  keywords,
  page,
  size
}}).then(res=>{
  // console.log(res)
  wx.hideLoading()
  if(res.result && res.result.length !=0){
     //更新视图
  this.setData({
    list:res.result
  })
  }else{
    this.data.isLoadAll = true
    //没有数据了
    wx.showToast({
      title:"加载完毕~",
      icon:"none"
    })
  }
 }).catch(err=>{
  console.log(err)
})

},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 页面加1
    page++;
    this.getDataList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})